import heapq
from datetime import time, datetime, timedelta, date
from functools import lru_cache
from typing import List, Tuple

Point = Tuple[float, float]
Polygon = List[Point]
t = time(hour=15, minute=5, second=10)
print(t)


@lru_cache()
def dt(a, b, c):
    return

print(f'{5:0>5.2f}')

# 在time对象上加上2个小时
delta = timedelta(hours=2)
new_time = (datetime.combine(date(1, 1, 1), t) + delta)

print(datetime.ctime(new_time))

import math

print(math.gcd(4, 2), math.fmod(4, 2), math.factorial(10), math.pow(10, 10), math.isqrt(1), math.isinf(0), sep='\n')
print()
print(math.inf, math.isinf(math.inf), math.isinf(float('inf')), sep='\n')

if 1 == '1':
    print('hELLO')


@dataclass
@total_ordering
class Node:
    addr: int = field()
    value: int
    n_addr: int = -1

    def __eq__(self, other):
        return self.value == other.value

    def __lt__(self, other):
        return self.value < other.value


a = [Node(1, 4, 3), Node(1, 3, 3), Node(1, 2, 3)]
print(a[0] > a[1])

heapq.heapify(a)
print(a)
b = heapq.heappop(a)
print(b)
